1. Technical Field
The present invention relates to information technology. More particularly the present invention relates to a method and system for hosting applications.
2. Description of Related Art
Prior to the advent of the personal computer (PC), information technology (IT) professionals were responsible for determining which applications to support and make available to the individual users on client computers supported by the network system. Once the IT professional perceived a need for a particular application, the application was acquired and mounted on the system mainframe for access by the client computers. This model was very manageable because most decisions regarding the network were made, at least in-part, by the IT professionals. Total system costs were easily controlled due to the inherent centralized management approach. Software licensing and tracking was also made easy by the localized housing of applications and by the centralized management. The shortcomings of this model became instantly apparent to users. These shortcomings included the lag time between detecting a need for a particular application and installing the application, along with the inability of a system (and the IT professionals servicing that system) to support variants of the same application type. Operating systems also constrained the choice of applications to those written for the particular operating system being employed. Finally, it was very difficult for individual users to persuade IT professionals to acquire a particular application because the IT professionals were faced with economic justification restrictions that limited application procurement to only those applications having almost universal need by users.
The introduction of PCs alleviated many the above mentioned problems by making applications available to users on a per-client basis. PCs also allowed the structure of applications to evolve into a self-contained program that performed specific functions directly for the user. Applications contained the necessary graphical user interfaces and libraries to support the individual functions necessary for the application. Applications were written with the end user in mind, offering the user a wide range of functionality and scalable libraries for upgrading the basic functions to suit the future needs of the user. Typical applications came equipped with an almost never-ending list of user preferences and options for personalizing the application and thus, it was hoped, increasing user productivity. PCs were easily upgraded to provide the necessary level of support for the individual user""s applications.
However, with the PC came the almost inevitable problem of keeping individual applications and PCs upgraded for individual users. The goal was to maximum the effectiveness of the user without overspending on a per-user basis. Support costs, including maintaining and upgrading PCs, rose disproportionately with the quantity of PCs being supported because of the dissimilar states of individual PCs, applications and services. Software licensing also became a serious problem due to the never-ending stream of upgrades and new applications. The lack of a centralized warehouse for applications made tracking applications difficult. Many times licenses on necessary software would expire, while licenses for unnecessary and out-of-date applications were maintained long past the useful life of the application. Total cost of ownership (TCO) became the new catch phrase for IT professionals who were attempting a gain control of costs and support requirements that were spiraling out of control.
Upgrading PCs and software within a corporate network is a continual problem for IT professionals. Both hardware and software must be upgraded within the network in a precise sequence in order to avoid system and software incompatibility problems. For example, once the decision has been made to upgrade software applications (or install newly released software applications), the IT professionals must evaluate the corporate network for compatibility with the applications. If the network is found in need of upgrade to support the new application, the PCs in the network must be upgraded prior to installing new or upgraded applications. Thus, upgrading applications on the corporate network must be deferred until the hardware has been upgraded.
Only after technicians have upgraded each PC in the network, can the upgraded applications be installed. So generally, installing upgraded applications on the network is synchronized with the installation of hardware upgrades. This hardware/software synchronization limits the inherent customizability of PCs on the corporate network to the customizability of the PC with the least upgraded hardware on the corporate network, or at least a subgroup of the corporate network.
Additionally, performing a software release on a corporate network is a difficult process for IT professionals because of the varying state of application customizing by the individual PC users. Some users may only make minor changes in the user options or preferences, while other users may make wholesale changes in the user""s preferences to better suit that user""s work atmosphere. When major software applications and/or operating systems are upgraded, many times the user preferences are lost in the upgrade process, are not importable or are not compatible with the upgraded software. The user is then left with the task of relearning and resetting the preferences. Of course, the corporate IT professionals and help centers are then burdened with an influx of user questions and problems resulting from having to reset the preferences.
User customized applications also present a problem for IT professional during each service problem reported by the user. Before attempting to diagnose a reported problem, the technician must ascertain the problem is not directly related to the user""s preference selections. Therefore, to accurately troubleshoot a PC, the technician must be well versed with each application loaded on the user""s PC.
It would be advantageous to provide a flexible IT model without the total cost of ownership problems associated with personal computing.
The present invention relates to a system, method and instructions for negotiating license agreements and installing arbitrary user-specified applications on application service providers. Initially, a user perceives a need for an application. However, rather than the user supporting the application, the user contracts with an application service provider (ASP) for hosting the application. Thus the user may interact with the application by using only a thin client. The user then rents the application from either the application service provider or an independent software provider (ISP), such as an application provider (AP).
If the user procures the application from an application provider, the application provider negotiates hosting terms with the application service provider prior to installing the application into the application service provider""s warehouse. The application provider also checks that the services provided by the application service provider meet the minimum requirements of the application. Once installed, the application service provider may offer the application to other users along with services for the application.